# Finnish messages for cpplib.
# Copyright © 2010, 2012, 2013, 2014, 2015, 2016, 2018, 2019 Free Software Foundation, Inc.
# This file is distributed under the same license as the gcc package.
# Jorma Karvonen <karvonen.jorma@gmail.com>, 2010, 2012-2015.
# Lauri Nurmi <lanurmi@iki.fi>, 2016, 2018, 2019.
#
msgid ""
msgstr ""
"Project-Id-Version: cpplib 10.1-b20200209\n"
"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
"POT-Creation-Date: 2023-02-10 22:39+0000\n"
"PO-Revision-Date: 2020-02-11 17:27+0200\n"
"Last-Translator: Lauri Nurmi <lanurmi@iki.fi>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Bugs: Report translation errors to the Language-Team address.\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 2.3\n"

#: charset.cc:683
#, c-format
msgid "conversion from %s to %s not supported by iconv"
msgstr "iconv ei tue muunnosta %s -> %s"

#: charset.cc:686
msgid "iconv_open"
msgstr "iconv_open"

#: charset.cc:696
#, c-format
msgid "no iconv implementation, cannot convert from %s to %s"
msgstr "ei iconv-toteutusta, muunnosta %s -> %s ei voida suorittaa"

#: charset.cc:794
#, c-format
msgid "character 0x%lx is not in the basic source character set\n"
msgstr "merkki 0x%lx ei ole peruslähdemerkistössä\n"

#: charset.cc:811 charset.cc:2420
msgid "converting to execution character set"
msgstr "muunnetaan suoritusmerkistöön"

#: charset.cc:817
#, c-format
msgid "character 0x%lx is not unibyte in execution character set"
msgstr "merkki 0x%lx ei ole yksitavuinen suoritusmerkistössä"

#: charset.cc:1437
msgid "universal character names are only valid in C++ and C99"
msgstr "universaalit merkkinimet ovat kelvollisia vai C++:ssa ja C99:ssä"

#: charset.cc:1441
msgid "C99's universal character names are incompatible with C90"
msgstr "C99:n universaalit merkkinimet ovat epäyhteensopivia C90:n kanssa"

#: charset.cc:1444
#, c-format
msgid "the meaning of '\\%c' is different in traditional C"
msgstr "’\\%c’:lla on eri merkitys perinteisessä C:ssä"

#: charset.cc:1483
#, fuzzy
#| msgid "'?' without following ':'"
msgid "'\\N' not followed by '{'"
msgstr "’?’ ilman sitä seuraavaa ’:’-merkkiä"

#: charset.cc:1513
msgid "empty named universal character escape sequence; treating it as separate tokens"
msgstr ""

#: charset.cc:1520
#, fuzzy
#| msgid "incomplete universal character name %.*s"
msgid "empty named universal character escape sequence"
msgstr "vaillinainen universaali merkkinimi %.*s"

#: charset.cc:1525
#, fuzzy
#| msgid "universal character names are only valid in C++ and C99"
msgid "named universal character escapes are only valid in C++23"
msgstr "universaalit merkkinimet ovat kelvollisia vai C++:ssa ja C99:ssä"

#: charset.cc:1545
#, fuzzy, c-format
#| msgid "%.*s is not a valid universal character"
msgid "\\N{%.*s} is not a valid universal character; treating it as separate tokens"
msgstr "%.*s ei ole kelvollinen universaali merkki"

#: charset.cc:1551
#, fuzzy, c-format
#| msgid "%.*s is not a valid universal character"
msgid "\\N{%.*s} is not a valid universal character"
msgstr "%.*s ei ole kelvollinen universaali merkki"

#: charset.cc:1561
#, c-format
msgid "did you mean \\N{%s}?"
msgstr ""

#: charset.cc:1579
#, c-format
msgid "'\\N{' not terminated with '}' after %.*s; treating it as separate tokens"
msgstr ""

#: charset.cc:1588
#, c-format
msgid "'\\N{' not terminated with '}' after %.*s"
msgstr ""

#  UCN tarkoittaa Universal Character Names ja se sallii minkä tahansa kirjaimen käyttämisen C-lähdekielessä, ei vain englanninkielen kirjainten käytön. Merkki voidaan ilmaista joko kenoviivalla, sitä seuraavalla pienellä u-kirjaimella ja nelinumeroisella heksadesimaaliluvulla tai kenoviivaa seuraavalla suurella U-kirjaimella ja kahdeksannumeroisella heksadesimaaliluvulla.
#: charset.cc:1596
msgid "In _cpp_valid_ucn but not a UCN"
msgstr "Funktiossa _cpp_valid_ucn mutta ei ole UCN"

#: charset.cc:1638
msgid "empty delimited escape sequence; treating it as separate tokens"
msgstr ""

#: charset.cc:1645 charset.cc:1978 charset.cc:2081
msgid "empty delimited escape sequence"
msgstr ""

#: charset.cc:1649 charset.cc:1984 charset.cc:2087
#, fuzzy
#| msgid "universal character names are only valid in C++ and C99"
msgid "delimited escape sequences are only valid in C++23"
msgstr "universaalit merkkinimet ovat kelvollisia vai C++:ssa ja C99:ssä"

#: charset.cc:1663
#, c-format
msgid "'\\u{' not terminated with '}' after %.*s; treating it as separate tokens"
msgstr ""

#: charset.cc:1675
#, c-format
msgid "incomplete universal character name %.*s"
msgstr "vaillinainen universaali merkkinimi %.*s"

#: charset.cc:1679
#, c-format
msgid "'\\u{' not terminated with '}' after %.*s"
msgstr ""

#: charset.cc:1694
#, c-format
msgid "%.*s is not a valid universal character"
msgstr "%.*s ei ole kelvollinen universaali merkki"

#: charset.cc:1704 lex.cc:2079
msgid "'$' in identifier or number"
msgstr "’$’ tunnisteessa tai lukuarvossa"

#: charset.cc:1714
#, c-format
msgid "universal character %.*s is not valid in an identifier"
msgstr "universaali merkki %.*s ei ole kelvollinen tunniste"

#: charset.cc:1718
#, c-format
msgid "universal character %.*s is not valid at the start of an identifier"
msgstr "universaali merkki %.*s ei ole kelvollinen tunnisteen alussa"

#: charset.cc:1725
#, c-format
msgid "%.*s is outside the UCS codespace"
msgstr "%.*s on UCS-koodiston ulkopuolella"

#: charset.cc:1769 charset.cc:2797
msgid "converting UCN to source character set"
msgstr "muunnetaan UCN lähdemerkistöön"

#: charset.cc:1776
msgid "converting UCN to execution character set"
msgstr "muunnetaan UCN suoritusmerkistöön"

#: charset.cc:1840
#, c-format
msgid "extended character %.*s is not valid in an identifier"
msgstr "laajennettu merkki %.*s ei ole kelvollinen tunniste"

#: charset.cc:1857
#, c-format
msgid "extended character %.*s is not valid at the start of an identifier"
msgstr "laajennettu merkki %.*s ei ole kelvollinen tunnisteen alussa"

#: charset.cc:1945
msgid "the meaning of '\\x' is different in traditional C"
msgstr "’\\%x’:lla on eri merkitys perinteisessä C:ssä"

#: charset.cc:1992
msgid "\\x used with no following hex digits"
msgstr "\\x:ää käytetty ilman seuraavia heksanumeroita"

#: charset.cc:1998
#, c-format
msgid "'\\x{' not terminated with '}' after %.*s"
msgstr ""

#: charset.cc:2006
msgid "hex escape sequence out of range"
msgstr "heksadesimaalinen ohjaussarja sallitun välin ulkopuolella"

#: charset.cc:2049
#, fuzzy
#| msgid "'?' without following ':'"
msgid "'\\o' not followed by '{'"
msgstr "’?’ ilman sitä seuraavaa ’:’-merkkiä"

#: charset.cc:2093
#, c-format
msgid "'\\o{' not terminated with '}' after %.*s"
msgstr ""

#: charset.cc:2102
msgid "octal escape sequence out of range"
msgstr "oktaalinen ohjaussarja sallitun välin ulkopuolella"

#: charset.cc:2184
msgid "the meaning of '\\a' is different in traditional C"
msgstr "’\\a’:lla on eri merkitys perinteisessä C:ssä"

#: charset.cc:2191
#, c-format
msgid "non-ISO-standard escape sequence, '\\%c'"
msgstr "ISO-standardiin kuulumaton ohjaussarja ’\\%c’"

#: charset.cc:2199
#, c-format
msgid "unknown escape sequence: '\\%c'"
msgstr "tuntematon ohjaussarja ’\\%c’"

#: charset.cc:2209
#, c-format
msgid "unknown escape sequence: '\\%s'"
msgstr "tuntematon ohjaussarja ’\\%s’"

#: charset.cc:2217
msgid "converting escape sequence to execution character set"
msgstr "muunnetaan ohjaussarja suoritusmerkistöön"

#: charset.cc:2357
msgid "missing open quote"
msgstr "avautuva sulje puuttuu"

#: charset.cc:2575 charset.cc:2658
msgid "character constant too long for its type"
msgstr "merkkivakio on liian pitkä tyypilleen"

#: charset.cc:2578
msgid "multi-character character constant"
msgstr "monimerkkinen merkkivakio"

#: charset.cc:2698
msgid "empty character constant"
msgstr "tyhjä merkkivakio"

#: charset.cc:2882
#, c-format
msgid "failure to convert %s to %s"
msgstr "muunnos %s -> %s epäonnistui"

#: directives.cc:237 directives.cc:280
#, c-format
msgid "extra tokens at end of #%s directive"
msgstr "ylimääräisiä merkkejä #%s-direktiivin lopussa"

#: directives.cc:387
#, c-format
msgid "#%s is a GCC extension"
msgstr "#%s on GCC-laajennos"

#: directives.cc:394 directives.cc:2152 directives.cc:2191
#, fuzzy, c-format
#| msgid "#%s is a GCC extension"
msgid "#%s before C++23 is a GCC extension"
msgstr "#%s on GCC-laajennos"

#: directives.cc:397 directives.cc:401 directives.cc:2156 directives.cc:2195
#, fuzzy, c-format
#| msgid "#%s is a GCC extension"
msgid "#%s before C2X is a GCC extension"
msgstr "#%s on GCC-laajennos"

#: directives.cc:407
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr "#%s on vanhentunut GCC-laajennos"

#: directives.cc:420
msgid "suggest not using #elif in traditional C"
msgstr "ehdotetaan #elif:in käytön välttämistä perinteisessä C:ssä"

#: directives.cc:423
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "#%s ohitetaan perinteisessä C:ssä kun # on sisennetty"

#: directives.cc:427
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr "ehdotetaan #%s:n piilottamista perinteiseltä C:ltä sisentämällä #"

#: directives.cc:453
msgid "embedding a directive within macro arguments is not portable"
msgstr "direktiivin upottaminen makroargumenttien sisälle ei ole siirrettävää"

#: directives.cc:481
msgid "style of line directive is a GCC extension"
msgstr "rividirektiivin tyyli on GCC-laajennos"

#: directives.cc:556
#, fuzzy, c-format
#| msgid "invalid preprocessing directive #%s"
msgid "invalid preprocessing directive #%s; did you mean #%s?"
msgstr "virheellinen esikääntäjän direktiivi #%s"

#: directives.cc:562
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "virheellinen esikääntäjän direktiivi #%s"

#: directives.cc:632
#, c-format
msgid "\"%s\" cannot be used as a macro name"
msgstr "”%s” ei ole kelvollinen makron nimi"

#: directives.cc:639
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr "”%s” ei ole kelvollinen makron nimi, sillä se on C++:n operaattori"

#: directives.cc:642
#, c-format
msgid "no macro name given in #%s directive"
msgstr "makron nimeä ei ole annettu #%s-direktiivissä"

#: directives.cc:645
msgid "macro names must be identifiers"
msgstr "makrojen nimien on oltava tunnisteita"

#: directives.cc:694 directives.cc:699
#, c-format
msgid "undefining \"%s\""
msgstr "kumotaan määrittely ”%s”"

#: directives.cc:756
msgid "missing terminating > character"
msgstr "päättävä >-merkki puuttuu"

#: directives.cc:815
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s odottaa argumenttia \"TIEDOSTONIMI\" tai <TIEDOSTONIMI>"

#: directives.cc:861
#, c-format
msgid "empty filename in #%s"
msgstr "tyhjä tiedostonimi direktiivissä #%s"

#: directives.cc:870
#, c-format
msgid "#include nested depth %u exceeds maximum of %u (use -fmax-include-depth=DEPTH to increase the maximum)"
msgstr "#include-sisäkkäisyyssyvyys %u ylittää maksimin %u (valitsin -fmax-include-depth=SYVYYS suurentaa maksimia)"

#: directives.cc:915
msgid "#include_next in primary source file"
msgstr "#include_next ensisijaisessa lähdetiedostossa"

#: directives.cc:941
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "virheellinen lippu ”%s” rividirektiivissä"

#: directives.cc:1008
msgid "unexpected end of file after #line"
msgstr "odottamaton tiedoston loppu #line-direktiivin jälkeen"

#: directives.cc:1011
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "#line:n jälkeinen ”%s”  ei ole positiivinen kokonaisluku"

#: directives.cc:1017 directives.cc:1019
msgid "line number out of range"
msgstr "rivinumero sallitun välin ulkopuolella"

#: directives.cc:1032 directives.cc:1113
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "”%s” ei ole kelvollinen tiedostonimi"

#: directives.cc:1073
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "#:n jälkeinen ”%s” ei ole positiivinen kokonaisluku"

#: directives.cc:1140
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
msgstr "tiedoston ”%s” rivinmerkitsin jätetään huomiotta virheellisen sisäkkäisyyden vuoksi"

#: directives.cc:1218 directives.cc:1220 directives.cc:1222 directives.cc:1810
#, c-format
msgid "%s"
msgstr "%s"

#: directives.cc:1246
#, c-format
msgid "invalid #%s directive"
msgstr "virheellinen #%s-direktiivi"

#: directives.cc:1309
#, c-format
msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
msgstr "rekisteröidään pragmat nimiavaruudessa ”%s” epäsopivalla nimenlavennuksella"

#: directives.cc:1318
#, c-format
msgid "registering pragma \"%s\" with name expansion and no namespace"
msgstr "rekisteröidään pragma ”%s” nimenlavennuksella ja ilman nimiavaruutta"

#: directives.cc:1336
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr "rekisteröidään ”%s” sekä pragmana että pragma-nimiavaruutena"

#: directives.cc:1339
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "#pragma %s %s on jo rekisteröity"

#: directives.cc:1342
#, c-format
msgid "#pragma %s is already registered"
msgstr "#pragma %s on jo rekisteröity"

#: directives.cc:1372
msgid "registering pragma with NULL handler"
msgstr "rekisteröidään pragma NULL-käsittelijällä"

#: directives.cc:1589
msgid "#pragma once in main file"
msgstr "#pragma once päätiedostossa"

#: directives.cc:1612
msgid "invalid #pragma push_macro directive"
msgstr "virheellinen #pragma push_macro -direktiivi"

#: directives.cc:1669
msgid "invalid #pragma pop_macro directive"
msgstr "virheellinen #pragma pop_macro -direktiivi"

#  poison tarkoittaa, että makroa tai direktiiviä ei koskaan määritellä tai käytetä
#: directives.cc:1724
msgid "invalid #pragma GCC poison directive"
msgstr "virheellinen #pragma GCC poison -direktiivi"

#: directives.cc:1733
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "myrkytetään olemassa oleva makro ”%s”"

#: directives.cc:1752
msgid "#pragma system_header ignored outside include file"
msgstr "#pragma system_header ohitetaan otsaketiedoston ulkopuolella"

#: directives.cc:1777
#, c-format
msgid "cannot find source file %s"
msgstr "lähdetiedostoa %s ei löydy"

#: directives.cc:1781
#, c-format
msgid "current file is older than %s"
msgstr "nykyinen tiedosto on vanhempi kuin %s"

#: directives.cc:1805
#, c-format
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "virheellinen ”#pragma GCC %s” -direktiivi"

#: directives.cc:2008
msgid "_Pragma takes a parenthesized string literal"
msgstr "_Pragma ottaa sulkeilla ympäröidyn merkkijonoliteraalin"

#: directives.cc:2091
msgid "#else without #if"
msgstr "#else ilman #if:iä"

#: directives.cc:2096
msgid "#else after #else"
msgstr "#else #else:n jälkeen"

#: directives.cc:2098 directives.cc:2132
msgid "the conditional began here"
msgstr "ehtolause alkoi tästä"

#: directives.cc:2124
#, fuzzy, c-format
#| msgid "#else without #if"
msgid "#%s without #if"
msgstr "#else ilman #if:iä"

#: directives.cc:2129
#, fuzzy, c-format
#| msgid "#else after #else"
msgid "#%s after #else"
msgstr "#else #else:n jälkeen"

#: directives.cc:2231
msgid "#endif without #if"
msgstr "#endif ilman #if:iä"

#: directives.cc:2307
msgid "missing '(' after predicate"
msgstr "’(’ puuttuu predikaatin jäljestä"

#: directives.cc:2325
msgid "missing ')' to complete answer"
msgstr "’)’ puuttuu vastauksen täydentämisestä"

#: directives.cc:2337
msgid "predicate's answer is empty"
msgstr "predikaatin vastaus on tyhjä"

#: directives.cc:2367
msgid "assertion without predicate"
msgstr "väite ilman predikaattia"

#: directives.cc:2370
msgid "predicate must be an identifier"
msgstr "predikaatin on oltava tunniste"

#: directives.cc:2452
#, c-format
msgid "\"%s\" re-asserted"
msgstr "”%s” väitetty uudelleen"

#: directives.cc:2770
#, c-format
msgid "unterminated #%s"
msgstr "päättämätön #%s"

#: errors.cc:335 errors.cc:350
#, c-format
msgid "%s: %s"
msgstr "%s: %s"

#: errors.cc:348
msgid "stdout"
msgstr "vakiotuloste"

#: expr.cc:646 expr.cc:763
msgid "fixed-point constants are a GCC extension"
msgstr "kiintopistevakiot ovat GCC-laajennos"

#: expr.cc:671
msgid "invalid prefix \"0b\" for floating constant"
msgstr "virheellinen etuliite ”0b” liukulukuvakiolle"

#: expr.cc:684
msgid "use of C++17 hexadecimal floating constant"
msgstr "C++17:n heksadesimaaliliukulukuvakion käyttö"

#: expr.cc:687
msgid "use of C99 hexadecimal floating constant"
msgstr "C99:n heksadesimaaliliukulukuvakion käyttö"

#: expr.cc:731
#, c-format
msgid "invalid suffix \"%.*s\" on floating constant"
msgstr "virheellinen loppuliite ”%.*s” liukulukuvakiolla"

#: expr.cc:742 expr.cc:809
#, c-format
msgid "traditional C rejects the \"%.*s\" suffix"
msgstr "perinteinen C ei salli ”%.*s”-loppuliitettä"

#: expr.cc:750
msgid "suffix for double constant is a GCC extension"
msgstr "loppuliite double-vakiolle on GCC-laajennos"

#: expr.cc:756
#, c-format
msgid "invalid suffix \"%.*s\" with hexadecimal floating constant"
msgstr "virheellinen loppuliite ”%.*s” heksadesimaalisella liukulukuvakiolla"

#: expr.cc:769 expr.cc:773
msgid "decimal float constants are a C2X feature"
msgstr "desimaali-float-vakiot ovat C2X-ominaisuus"

#: expr.cc:792
#, c-format
msgid "invalid suffix \"%.*s\" on integer constant"
msgstr "virheellinen loppuliite ”%.*s” kokonaislukuvakiolla"

#: expr.cc:817
msgid "use of C++11 long long integer constant"
msgstr "C++11:n long long -kokonaislukuvakion käyttö"

#: expr.cc:818
msgid "use of C99 long long integer constant"
msgstr "C99:n long long -kokonaislukuvakion käyttö"

#: expr.cc:832
#, fuzzy
#| msgid "use of C++11 long long integer constant"
msgid "use of C++23 %<size_t%> integer constant"
msgstr "C++11:n long long -kokonaislukuvakion käyttö"

#: expr.cc:833
#, fuzzy
#| msgid "use of C++11 long long integer constant"
msgid "use of C++23 %<make_signed_t<size_t>%> integer constant"
msgstr "C++11:n long long -kokonaislukuvakion käyttö"

#: expr.cc:844
msgid "imaginary constants are a GCC extension"
msgstr "imaginäärivakiot ovat GCC-laajennos"

#: expr.cc:851
msgid "binary constants are a C++14 feature or GCC extension"
msgstr "binäärivakiot ovat C++14:n ominaisuus tai GCC-laajennos"

#: expr.cc:853
#, fuzzy
#| msgid "binary constants are a C++14 feature or GCC extension"
msgid "binary constants are a C2X feature or GCC extension"
msgstr "binäärivakiot ovat C++14:n ominaisuus tai GCC-laajennos"

#: expr.cc:858
#, fuzzy
#| msgid "decimal float constants are a C2X feature"
msgid "binary constants are a C2X feature"
msgstr "desimaali-float-vakiot ovat C2X-ominaisuus"

#: expr.cc:954
msgid "integer constant is too large for its type"
msgstr "kokonaislukuvakio on liian suuri tyypilleen"

#: expr.cc:985
msgid "integer constant is so large that it is unsigned"
msgstr "kokonaislukuvakio on niin suuri, että se on etumerkitön"

#: expr.cc:1080
msgid "missing ')' after \"defined\""
msgstr "’)’ puuttuu ”defined”-sanan jäljestä"

#: expr.cc:1087
msgid "operator \"defined\" requires an identifier"
msgstr "operaattori ”defined” vaatii tunnisteen"

#: expr.cc:1095
#, c-format
msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
msgstr "(”%s” on vaihtoehtoinen symboli ”%s”:lle C++:ssa)"

#: expr.cc:1108
msgid "this use of \"defined\" may not be portable"
msgstr "tämä ”defined”-sanan käyttö ei ehkä ole siirrettävää"

#: expr.cc:1153
msgid "user-defined literal in preprocessor expression"
msgstr "käyttäjän määrittelemä literaali esikääntäjän lausekkeessa"

#: expr.cc:1158
msgid "floating constant in preprocessor expression"
msgstr "liukulukuvakio esikääntäjän lausekkeessa"

#: expr.cc:1164
msgid "imaginary number in preprocessor expression"
msgstr "imaginääriluku esikääntäjän lausekkeessa"

#: expr.cc:1213
#, c-format
msgid "\"%s\" is not defined, evaluates to 0"
msgstr "”%s” on määrittelemättä, evaluoituu 0:ksi"

#: expr.cc:1226
msgid "assertions are a GCC extension"
msgstr "väitteet ovat GCC-laajennos"

#: expr.cc:1229
msgid "assertions are a deprecated extension"
msgstr "väitteet ovat vanhentunut laajennos"

# %s on #if tai #elif
#: expr.cc:1479
#, c-format
msgid "unbalanced stack in %s"
msgstr "tasapainoton pino %s:ssä"

#: expr.cc:1499
#, c-format
msgid "impossible operator '%u'"
msgstr "mahdoton operaattori ’%u’"

#: expr.cc:1600
msgid "missing ')' in expression"
msgstr "’)’ puuttuu lausekkeesta"

#: expr.cc:1629
msgid "'?' without following ':'"
msgstr "’?’ ilman sitä seuraavaa ’:’-merkkiä"

#: expr.cc:1639
msgid "integer overflow in preprocessor expression"
msgstr "kokonaislukuylivuoto esikääntäjän lausekkeessa"

#: expr.cc:1644
msgid "missing '(' in expression"
msgstr "’(’ puuttuu lausekkeesta"

#: expr.cc:1676
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr "”%s”:n vasen operandi vaihtaa ylennettäessä etumerkkiään"

#: expr.cc:1681
#, c-format
msgid "the right operand of \"%s\" changes sign when promoted"
msgstr "”%s”:n oikea operandi vaihtaa ylennettäessä etumerkkiään"

#: expr.cc:1940
msgid "traditional C rejects the unary plus operator"
msgstr "perinteinen C ei salli unaarista plus-operaattoria"

#: expr.cc:2038
msgid "comma operator in operand of #if"
msgstr "pilkkuoperaattori #if:in operandissa"

#: expr.cc:2174
msgid "division by zero in #if"
msgstr "jako nollalla #if-ehdossa"

#: files.cc:516
msgid "NULL directory in find_file"
msgstr "NULL-hakemisto funktiossa find_file"

#: files.cc:570
msgid "one or more PCH files were found, but they were invalid"
msgstr "yksi tai useampia PCH-tiedostoja löytyi, mutta ne olivat virheellisiä"

#: files.cc:574
msgid "use -Winvalid-pch for more information"
msgstr "käytä valitsinta -Winvalid-pch lisätietojen saamiseksi"

#: files.cc:688
#, c-format
msgid "%s is a block device"
msgstr "%s on lohkolaite"

#: files.cc:707
#, c-format
msgid "%s is too large"
msgstr "%s on liian suuri"

#: files.cc:748
#, c-format
msgid "%s is shorter than expected"
msgstr "%s on odotettua lyhyempi"

#: files.cc:1060
#, c-format
msgid "no include path in which to search for %s"
msgstr "ei include-polkua, josta etsiä tiedostoa %s"

#: files.cc:1578
msgid "Multiple include guards may be useful for:\n"
msgstr "Monen includen estimet voivat olla hyödyllisiä tiedostoille:\n"

#: init.cc:631
msgid "cppchar_t must be an unsigned type"
msgstr "cppchar_t:n on oltava etumerkitön tyyppi"

#: init.cc:635
#, c-format
msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
msgstr "esikääntäjäaritmetiikan enimmäistarkkuus on %lu bittiä; kohde vaatii %lu bittiä"

#: init.cc:642
msgid "CPP arithmetic must be at least as precise as a target int"
msgstr "CPP-aritmetiikan on oltava vähintään yhtä tarkka kuin kohteen int-tyypin"

#: init.cc:645
msgid "target char is less than 8 bits wide"
msgstr "kohteen char-tyyppi on alle 8 bittiä leveä"

#: init.cc:649
msgid "target wchar_t is narrower than target char"
msgstr "kohteen wchar_t-tyyppi on kapeampi kuin kohteen char-tyyppi"

#: init.cc:653
msgid "target int is narrower than target char"
msgstr "kohteen int-tyyppi on kapeampi kuin kohteen char-tyyppi"

#: init.cc:658
msgid "CPP half-integer narrower than CPP character"
msgstr "CPP-puolikokonaisluku on kapeampi kuin CPP-merkki"

#: init.cc:662
#, c-format
msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
msgstr "tämän koneen CPP ei pysty käsittelemään yli %lu-bittisiä leveämerkkivakioita, mutta kohde vaatii %lu bittiä"

#: lex.cc:1132
msgid "backslash and newline separated by space"
msgstr "kenoviiva ja rivinvaihto erotettu välilyönnillä"

#: lex.cc:1137
msgid "backslash-newline at end of file"
msgstr "kenoviiva-rivinvaihto tiedoston lopussa"

#: lex.cc:1153
#, c-format
msgid "trigraph ??%c converted to %c"
msgstr "kolmoismerkki ??%c muunnettu merkiksi %c"

#: lex.cc:1161
#, c-format
msgid "trigraph ??%c ignored, use -trigraphs to enable"
msgstr "kolmoismerkki ??%c ohitettiin, ota käyttöön valitsimella -trigraphs"

#: lex.cc:1610
msgid "end of bidirectional context"
msgstr ""

#: lex.cc:1651
msgid "unpaired UTF-8 bidirectional control characters detected"
msgstr ""

#: lex.cc:1655
msgid "unpaired UTF-8 bidirectional control character detected"
msgstr ""

#: lex.cc:1693
#, c-format
msgid "UTF-8 vs UCN mismatch when closing a context by \"%s\""
msgstr ""

#: lex.cc:1702
#, c-format
msgid "\"%s\" is closing an unopened context"
msgstr ""

#: lex.cc:1706
#, c-format
msgid "found problematic Unicode character \"%s\""
msgstr ""

#: lex.cc:1736 lex.cc:1742
#, c-format
msgid "invalid UTF-8 character <%x>"
msgstr ""

#: lex.cc:1752 lex.cc:1758
#, c-format
msgid "invalid UTF-8 character <%x><%x>"
msgstr ""

#: lex.cc:1768 lex.cc:1774
#, c-format
msgid "invalid UTF-8 character <%x><%x><%x>"
msgstr ""

#: lex.cc:1784 lex.cc:1790
#, c-format
msgid "invalid UTF-8 character <%x><%x><%x><%x>"
msgstr ""

#: lex.cc:1872
msgid "\"/*\" within comment"
msgstr "”/*” kommentin sisällä"

# Mahdolliset arvot: "form feed", "vertical tab", eivät käännettäviä.
#: lex.cc:1976
#, c-format
msgid "%s in preprocessing directive"
msgstr "%s esikääntäjän direktiivissä"

#: lex.cc:1988
msgid "null character(s) ignored"
msgstr "null-merkit ohitetaan"

#  NFKC-muodossa Unicode-merkki ilmaistaan nelinumeroisella heksadesimaaliluvulla
#: lex.cc:2049
#, c-format
msgid "`%.*s' is not in NFKC"
msgstr "”%.*s” ei ole NFKC-muodossa"

#  NFC-muodossa Unicode-merkki ilmaistaan nelinumeroisella heksadesimaaliluvulla
#: lex.cc:2052 lex.cc:2055
#, c-format
msgid "`%.*s' is not in NFC"
msgstr "”%.*s” ei ole NFC-muodossa"

#: lex.cc:2141
#, fuzzy
#| msgid "__VA_OPT__ is not available until C++2a"
msgid "__VA_OPT__ is not available until C++20"
msgstr "__VA_OPT__ ei ole saatavilla ennen C++2a:ta"

#: lex.cc:2144
#, fuzzy
#| msgid "__VA_OPT__ is not available until C++2a"
msgid "__VA_OPT__ is not available until C2X"
msgstr "__VA_OPT__ ei ole saatavilla ennen C++2a:ta"

#  Variadic-makro on sellainen makro, jonka argumenttien lukumäärä voi vaihdella.
#: lex.cc:2152
#, fuzzy
#| msgid "__VA_OPT__ can only appear in the expansion of a C++2a variadic macro"
msgid "__VA_OPT__ can only appear in the expansion of a C++20 variadic macro"
msgstr "__VA_OPT__ voi esiintyä vain C++2a:n variadisen makron lavennoksessa"

#  poison tarkoittaa, että makroa tai direktiiviä ei koskaan määritellä tai käytetä
#: lex.cc:2183 lex.cc:2279
#, c-format
msgid "attempt to use poisoned \"%s\""
msgstr "myrkytetyn makron ”%s” käyttöyritys"

#  Variadic-makro on sellainen makro, jonka argumenttien lukumäärä voi vaihdella.
#: lex.cc:2193 lex.cc:2289
msgid "__VA_ARGS__ can only appear in the expansion of a C++11 variadic macro"
msgstr "__VA_ARGS__ voi esiintyä vain C++11:n variadisen makron lavennoksessa"

#  Variadic-makro on sellainen makro, jonka argumenttien lukumäärä voi vaihdella.
#: lex.cc:2197 lex.cc:2293
msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgstr "__VA_ARGS__ voi esiintyä vain C99:n variadisen makron lavennoksessa"

#: lex.cc:2207 lex.cc:2305
#, c-format
msgid "identifier \"%s\" is a special operator name in C++"
msgstr "tunniste ”%s” on operaattorin nimi C++:ssa"

#: lex.cc:2345
msgid "adjacent digit separators"
msgstr ""

#: lex.cc:2665
msgid "raw string delimiter longer than 16 characters"
msgstr "raa’an merkkijonon erotin pitempi kuin 16 merkkiä"

#: lex.cc:2669
msgid "invalid new-line in raw string delimiter"
msgstr "virheellinen rivinvaihto raa’an merkkijonon erottimessa"

#: lex.cc:2673 lex.cc:5519
#, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr "virheellinen merkki ’%c’ raa’an merkkijonon erottimessa"

#: lex.cc:2711 lex.cc:2734
msgid "unterminated raw string"
msgstr "päättämätön raaka merkkijono"

#: lex.cc:2770 lex.cc:2922
msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
msgstr "literaalissa virheellinen jälkiliite; C++11 vaatii välilyönnin literaalin ja merkkijonomakron väliin"

#: lex.cc:2905
msgid "null character(s) preserved in literal"
msgstr "null-merkit säilytetään literaalissa"

#: lex.cc:2908
#, c-format
msgid "missing terminating %c character"
msgstr "päättävä merkki %c puuttuu"

#: lex.cc:2940
msgid "C++11 requires a space between string literal and macro"
msgstr "C++11 vaatii välilyönnin literaalin ja merkkijonomakron väliin"

#: lex.cc:3533
msgid "module control-line cannot be in included file"
msgstr ""

#: lex.cc:3547
#, c-format
msgid "module control-line \"%s\" cannot be an object-like macro"
msgstr ""

#: lex.cc:3949 lex.cc:5352 traditional.cc:174
msgid "unterminated comment"
msgstr "päättämätön kommentti"

#: lex.cc:3963 lex.cc:3997
msgid "C++ style comments are not allowed in ISO C90"
msgstr "C++-tyyliset kommentit eivät ole sallittuja ISO C90:ssä"

#: lex.cc:3965 lex.cc:3976 lex.cc:4000
msgid "(this will be reported only once per input file)"
msgstr "(tästä ilmoitetaan vain kerran syötetiedostoa kohden)"

#: lex.cc:3974
msgid "C++ style comments are incompatible with C90"
msgstr "C++-tyyliset kommentit ovat epäyhteensopivia C90:n kanssa"

#: lex.cc:4006
msgid "multi-line comment"
msgstr "monirivinen kommentti"

#: lex.cc:4427
#, c-format
msgid "unspellable token %s"
msgstr "kirjoitusasuton symboli %s"

#: lex.cc:5507
#, fuzzy, c-format
#| msgid "raw string delimiter longer than 16 characters"
msgid "raw string delimiter longer than %d characters"
msgstr "raa’an merkkijonon erotin pitempi kuin 16 merkkiä"

#: lex.cc:5577
#, fuzzy
#| msgid "unterminated #%s"
msgid "unterminated literal"
msgstr "päättämätön #%s"

#: macro.cc:94
msgid "'##' cannot appear at either end of __VA_OPT__"
msgstr "”##” ei voi esiintyä __VA_OPT__-makron kummassakaan päässä"

#: macro.cc:144
#, fuzzy
#| msgid "'##' cannot appear at either end of __VA_OPT__"
msgid "__VA_OPT__ may not appear in a __VA_OPT__"
msgstr "”##” ei voi esiintyä __VA_OPT__-makron kummassakaan päässä"

#: macro.cc:157
msgid "__VA_OPT__ must be followed by an open parenthesis"
msgstr ""

#: macro.cc:235
#, fuzzy
#| msgid "unterminated #%s"
msgid "unterminated __VA_OPT__"
msgstr "päättämätön #%s"

# Mahdolliset arvot: "form feed", "vertical tab", eivät käännettäviä.
#: macro.cc:397
#, c-format
msgid "\"%s\" used outside of preprocessing directive"
msgstr "”%s” käytössä esikääntäjän direktiivin ulkopuolella"

#: macro.cc:407
#, c-format
msgid "missing '(' before \"%s\" operand"
msgstr "’(’ puuttuu ”%s”-operandin edeltä"

#: macro.cc:422
#, c-format
msgid "operator \"%s\" requires a header-name"
msgstr "operaattori ”%s” vaatii otsakemerkkijonon"

#: macro.cc:439
#, c-format
msgid "missing ')' after \"%s\" operand"
msgstr "’)’ puuttuu ”%s”-operandin jäljestä"

#: macro.cc:459
#, c-format
msgid "macro \"%s\" is not used"
msgstr "makroa ”%s” ei käytetä"

#: macro.cc:498 macro.cc:797
#, c-format
msgid "invalid built-in macro \"%s\""
msgstr "virheellinen sisäinen makro ”%s”"

#: macro.cc:505 macro.cc:613
#, c-format
msgid "macro \"%s\" might prevent reproducible builds"
msgstr "makro ”%s” saattaa estää toistettavat käännökset"

#: macro.cc:536
msgid "could not determine file timestamp"
msgstr "ei voitu selvittää tiedoston aikaleimaa"

#: macro.cc:627
msgid "could not determine date and time"
msgstr "ei voitu selvittää päivämäärää ja aikaa"

#: macro.cc:659
msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
msgstr "__COUNTER__ lavennettu direktiivin sisällä valitsimella -fdirectives-only"

#: macro.cc:916
msgid "invalid string literal, ignoring final '\\'"
msgstr "virheellinen merkijonoliteraali, ohitetaan viimeinen ’\\’"

#: macro.cc:980
#, fuzzy, c-format
#| msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
msgid "pasting \"%.*s\" and \"%.*s\" does not give a valid preprocessing token"
msgstr "liittämällä ”%s” ja ”%s” ei saada kelvollista esikääntäjän symbolia"

#  Variadic-makro on sellainen makro, jonka argumenttien lukumäärä voi vaihdella.
#: macro.cc:1112
msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro"
msgstr "ISO C++11 vaatii vähintään yhden argumentin variadisen makron ”...”:lle"

#  Variadic-makro on sellainen makro, jonka argumenttien lukumäärä voi vaihdella.
#: macro.cc:1116
msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro"
msgstr "ISO C99 vaatii vähintään yhden argumentin variadisen makron ”...”:lle"

#: macro.cc:1123
#, c-format
msgid "macro \"%s\" requires %u arguments, but only %u given"
msgstr "makro ”%s” vaatii %u argumenttia, mutta vain %u on annettu"

#: macro.cc:1128
#, c-format
msgid "macro \"%s\" passed %u arguments, but takes just %u"
msgstr "makrolle ”%s” annettu %u argumenttia, mutta se ottaa vain %u"

#: macro.cc:1132
#, fuzzy, c-format
#| msgid "macro \"%s\" is not used"
msgid "macro \"%s\" defined here"
msgstr "makroa ”%s” ei käytetä"

#: macro.cc:1326 traditional.cc:822
#, c-format
msgid "unterminated argument list invoking macro \"%s\""
msgstr "päättämätön argumenttiluettelo ”%s”-makron kutsussa"

#: macro.cc:1472
#, c-format
msgid "function-like macro \"%s\" must be used with arguments in traditional C"
msgstr "funktion kaltaista makroa ”%s” on käytettävä argumenttien kanssa perinteisessä C:ssä"

#: macro.cc:2307
#, c-format
msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98"
msgstr "%s-makron argumentin %d kutsu: tyhjät makroargumentit ovat määrittelemättömiä ISO C++98:ssa"

#: macro.cc:2315 macro.cc:2324
#, c-format
msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90"
msgstr "%s-makron argumentin %d kutsu: tyhjät makroargumentit ovat määrittelemättömiä ISO C90:ssä"

#: macro.cc:3375
#, c-format
msgid "duplicate macro parameter \"%s\""
msgstr "kahdenkertainen makroparametri ”%s”"

#: macro.cc:3457
#, c-format
msgid "expected parameter name, found \"%s\""
msgstr "odotettiin parametrin nimeä, löytyi ”%s”"

#: macro.cc:3458
#, c-format
msgid "expected ',' or ')', found \"%s\""
msgstr "odotettiin ”,” tai ”)”, löytyi ”%s”"

#: macro.cc:3459
msgid "expected parameter name before end of line"
msgstr "odotettiin parametrin nimeä ennen rivin loppua"

#: macro.cc:3460
msgid "expected ')' before end of line"
msgstr "odotettiin tulevan ”)” ennen rivin loppua"

#: macro.cc:3461
msgid "expected ')' after \"...\""
msgstr "odotettiin ”...”:n jälkeen tulevan ”)”"

#: macro.cc:3518
msgid "anonymous variadic macros were introduced in C++11"
msgstr "anonyymit variadiset makrot esiteltiin C++11:ssä"

#: macro.cc:3519 macro.cc:3523
msgid "anonymous variadic macros were introduced in C99"
msgstr "anonyymit variadiset makrot esiteltiin C99:ssä"

#: macro.cc:3529
msgid "ISO C++ does not permit named variadic macros"
msgstr "ISO C++ ei salli nimettyjä variadisia makroja"

#: macro.cc:3530
msgid "ISO C does not permit named variadic macros"
msgstr "ISO C ei salli nimettyjä variadisia makroja"

#: macro.cc:3576
msgid "'##' cannot appear at either end of a macro expansion"
msgstr "”##” ei voi esiintyä makrolavennuksen kummassakaan päässä"

#: macro.cc:3614
msgid "ISO C++11 requires whitespace after the macro name"
msgstr "ISO C++11 vaatii tyhjemerkin makron nimen jälkeen"

#: macro.cc:3615
msgid "ISO C99 requires whitespace after the macro name"
msgstr "ISO C99 vaatii tyhjemerkin makron nimen jälkeen"

#: macro.cc:3639
msgid "missing whitespace after the macro name"
msgstr "tyhjemerkki puuttuu makron nimen jäljestä"

#: macro.cc:3692
msgid "'#' is not followed by a macro parameter"
msgstr "”#” ilman sitä seuraavaa makroparametria"

#: macro.cc:3848
#, c-format
msgid "\"%s\" redefined"
msgstr "”%s” määritelty uudelleen"

#: macro.cc:3853
msgid "this is the location of the previous definition"
msgstr "tämä on edellisen määrittelyn sijainti"

#: macro.cc:3990
#, c-format
msgid "macro argument \"%s\" would be stringified in traditional C"
msgstr "makron argumentti ”%s” merkkijonostettaisiin perinteisessä C:ssä"

#: pch.cc:90 pch.cc:342 pch.cc:356 pch.cc:374 pch.cc:380 pch.cc:389 pch.cc:396
msgid "while writing precompiled header"
msgstr "kirjoitettaessa esikäännettyä otsaketta"

#: pch.cc:616
#, c-format
msgid "%s: not used because `%.*s' is poisoned"
msgstr "%s: ei käytetä, koska ”%.*s” on myrkytetty"

#: pch.cc:638
#, c-format
msgid "%s: not used because `%.*s' not defined"
msgstr "%s: ei käytetä, koska ”%.*s” on määrittelemättä"

#: pch.cc:650
#, c-format
msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'"
msgstr "%s: ei käytetä, koska ”%.*s” on määritelty arvoon ”%s” eikä ”%.*s”"

#: pch.cc:691
#, c-format
msgid "%s: not used because `%s' is defined"
msgstr "%s: ei käytetä, koska ”%s” on määritelty"

#: pch.cc:711
#, c-format
msgid "%s: not used because `__COUNTER__' is invalid"
msgstr "%s: ei käytetä, koska ”__COUNTER__” on virheellinen"

#: pch.cc:720 pch.cc:876
msgid "while reading precompiled header"
msgstr "luettaessa esikäännettyä otsaketta"

#: traditional.cc:891
#, c-format
msgid "detected recursion whilst expanding macro \"%s\""
msgstr "havaittiin rekursio lavennettaessa makroa ”%s”"

#: traditional.cc:1114
msgid "syntax error in macro parameter list"
msgstr "syntaksivirhe makron parameteriluettelossa"

#~ msgid "#elif without #if"
#~ msgstr "#elif ilman #if:iä"

#~ msgid "#elif after #else"
#~ msgstr "#elif #else:n jälkeen"

#~ msgid "binary constants are a GCC extension"
#~ msgstr "binäärivakiot ovat GCC-laajennos"

#~ msgid "\"__has_include__\" cannot be used as a macro name"
#~ msgstr "”__has_include__” ei ole kelvollinen makron nimi"

#~ msgid "#include nested too deeply"
#~ msgstr "liikaa sisäkkäisiä #include:ja"

#~ msgid "missing ')' after \"__has_include__\""
#~ msgstr "’)’ puuttuu ”__has_include__”-sanan jäljestä"

#~ msgid "\"%s\" may not appear in macro parameter list"
#~ msgstr "”%s” ei saa esiintyä makron parametriluettelossa"

#~ msgid "macro parameters must be comma-separated"
#~ msgstr "makron parametrien on oltava pilkuin eroteltuja"

#~ msgid "parameter name missing"
#~ msgstr "parametrin nimi puuttuu"

#~ msgid "missing ')' in macro parameter list"
#~ msgstr "’)’ puuttuu makron parametriluettelosta"

#~ msgid "invalid hash type %d in cpp_macro_definition"
#~ msgstr "virheellinen hash-tyyppi %d funktiossa cpp_macro_definition"

#  NFKC-muodossa Unicode-merkki ilmaistaan nelinumeroisella heksadesimaaliluvulla
#~ msgid "Character %x might not be NFKC"
#~ msgstr "Merkki %x ei saattaisi olla Unicode-normalisointimerkkijonomuotoa NFKC"

#~ msgid "too many decimal points in number"
#~ msgstr "liian monta desimaalipistettä numerossa"

#~ msgid "invalid digit \"%c\" in binary constant"
#~ msgstr "virheellinen numero ”%c” binäärivakiossa"

#~ msgid "invalid digit \"%c\" in octal constant"
#~ msgstr "virheellinen numero ”%c” oktaalivakiossa"

#~ msgid "no digits in hexadecimal floating constant"
#~ msgstr "ei lukuja heksadesimaalisessa liukulukuvakiossa"

#~ msgid "exponent has no digits"
#~ msgstr "eksponentilla ei ole numeoita"

#~ msgid "hexadecimal floating constants require an exponent"
#~ msgstr "heksadesimaalinen liukulukuvakio vaatii eksponentin"

#~ msgid "missing binary operator before token \"%s\""
#~ msgstr "puuttua binäärioperaattori ennen merkkijonoa ”%s”"

#~ msgid "token \"%s\" is not valid in preprocessor expressions"
#~ msgstr "merkkijono ”%s” ei ole kelvollinen esikäsittelijälausekkeissa"

#~ msgid "missing expression between '(' and ')'"
#~ msgstr "puuttuva lauseke merkkien ’(’ ja ’)’ välillä"

#~ msgid "%s with no expression"
#~ msgstr "%s ilman lauseketta"

#~ msgid "operator '%s' has no right operand"
#~ msgstr "operaattorilla ’%s’ ei ole oikeaa operandia"

#~ msgid "operator '%s' has no left operand"
#~ msgstr "operaattorilla ’%s’ ei ole vasenta operandia"

#~ msgid " ':' without preceding '?'"
#~ msgstr " ’:’ ilman edeltävää ’?’"
